/**
 * @author rxliuli
 */

/**
 * 经营单位信息管理
 * @author rxliuli
 */
class BaseOperCompany {
    /**
     * 构造函数
     *
     * @param {String} [idcId] id
     * @param {String} [operName] 经营者名称
     * @param {String} [companyCorporation] 企业法人
     * @param {Number} [securityOwner] 安全责任人
     * @param {Number} [emergencyContact] 应急联系人
     * @param {String} [zipCode] 邮编
     * @param {String} [address] 地址
     * @param {Date} [createTime] 创建时间
     * @param {Date} [updateTime] 更新时间
     * @param {Number} [reportStatus] 上报状态，1：已上报，2：新增，3：修改，4：删除
     * @param {Date} [startTime] 更新时间：开始时间
     * @param {Date} [endTime] 更新时间：结束时间
     * @param {String} [securityOwnerName] 对应的安全责任人
     * @param {String} [emergencyContactName] 对应的应急联系人
     * @param {Number} [baseHouseInfoCount] 机房数量
     * @param {Number} [baseMonitorDeviceCount] 异常数量
     * @param {Number} [dataFeature] 数据状态
     * @param {Number} [baseCustomerCount] 客户数量
     * @param {...Object} args 其他参数
     */
    constructor({
                    idcId,
                    operName,
                    companyCorporation,
                    securityOwner,
                    emergencyContact,
                    zipCode,
                    address,
                    createTime,
                    updateTime,
                    reportStatus,
                    startTime,
                    endTime,
                    securityOwnerName,
                    emergencyContactName,
                    baseHouseInfoCount,
                    baseMonitorDeviceCount,
                    baseCustomerCount,
                    dataFeature,
                    ...args
                } = {}) {
        this.idcId = idcId
        this.operName = operName
        this.companyCorporation = companyCorporation
        this.securityOwner = securityOwner
        this.emergencyContact = emergencyContact
        this.zipCode = zipCode
        this.address = address
        this.createTime = createTime
        this.updateTime = updateTime
        this.reportStatus = reportStatus
        this.startTime = startTime
        this.endTime = endTime
        this.securityOwnerName = securityOwnerName
        this.emergencyContactName = emergencyContactName
        this.baseHouseInfoCount = baseHouseInfoCount
        this.baseMonitorDeviceCount = baseMonitorDeviceCount
        this.baseCustomerCount = baseCustomerCount
        this.dataFeature = dataFeature
        Object.assign(this, args)
    }
}